package entities;

import java.awt.BorderLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ComponentEvent;
import java.awt.event.ComponentListener;

import javax.swing.*;

import bd.ConexBD;

import clases.FondoMenu;
import clases.FondoMenuPrincipal;

import java.awt.Font;
import java.sql.SQLException;
/**
 *Ventana en la que se dispondran todos los paneles segun vayan siendo necesarios
 *Main principal desde donde se iniciara el programa
 */



public class Ventana extends JFrame implements ActionListener, ComponentListener{


	private static final long serialVersionUID = -2914651660379733387L;
	
	VentanaGestionEmpleados vGEmp;
	VentanaGestionClientes vGCli;
	VentanaGestionObra vGTr; 
	
	
	
	private JButton bPersonal,bCliente,bTrabajos,bSalir;

	public Ventana(){	
		
		this.setTitle("Galaferr");
		this.setBounds(Toolkit.getDefaultToolkit().getScreenSize().width/2-800/2,Toolkit.getDefaultToolkit().getScreenSize().height/2-600/2, 800, 600);
		this.setSize(800,600);
		this.setDefaultCloseOperation(EXIT_ON_CLOSE);
		this.setVisible(true);
		
		FondoMenuPrincipal fondo=new FondoMenuPrincipal(); // cambio de imagien a la ventana
		getContentPane().add(fondo, BorderLayout.CENTER);
		fondo.setLayout(null);
		

		bPersonal = new JButton("Personal");
		bPersonal.setFont(new Font("Tahoma", Font.PLAIN, 16));
		bPersonal.setBounds(90, 230, 100, 40);
		fondo.add(bPersonal);
		
		bCliente = new JButton("Clientes");
		bCliente.setFont(new Font("Tahoma", Font.PLAIN, 16));
		bCliente.setBounds(330, 230, 100, 40);
		fondo.add(bCliente);
		
		bTrabajos = new JButton("Trabajos");
		bTrabajos.setFont(new Font("Tahoma", Font.PLAIN, 16));
		bTrabajos.setBounds(593, 230, 100, 40);
		fondo.add(bTrabajos);
		
		bSalir = new JButton("Salir");
		bSalir.setFont(new Font("Tahoma", Font.PLAIN, 16));
		bSalir.setBounds(330, 483, 100, 23);
		fondo.add(bSalir);
		
		
		bPersonal.addActionListener(this);
		bCliente.addActionListener(this);
		bTrabajos.addActionListener(this);
		bSalir.addActionListener(this);
		getContentPane().addComponentListener(this);
	}
	


@Override
	public void actionPerformed(ActionEvent e) {
	// TODO Auto-generated method stub
		if(e.getSource().equals(bPersonal)){

			vGEmp = new VentanaGestionEmpleados(this);
			this.setVisible(false);
		
		}else if(e.getSource().equals(bCliente)){
			
			vGCli = new VentanaGestionClientes(this);
			this.setVisible(false);
		}else if(e.getSource().equals(bTrabajos)){
	
			vGTr = new VentanaGestionObra(this);
			this.setVisible(false);
			
        }else if(e.getSource().equals(bSalir)){
        	System.exit(0);
        }
	}
@Override
public void componentHidden(ComponentEvent arg0) {
	// TODO Auto-generated method stub
	
}
@Override
public void componentMoved(ComponentEvent arg0) {
	// TODO Auto-generated method stub	
}
@Override
public void componentResized(ComponentEvent arg0) {
	// TODO Auto-generated method stub
}
@Override
public void componentShown(ComponentEvent arg0) {
	// TODO Auto-generated method stub	
}

public static void main(String[] args){
	Ventana a = new Ventana();
	
	
	// llamo al metodo que alerta si se necesitan revisiones medicas proximamente.
	ConexBD prueba = ConexBD.getInstance();
	
	try {
		prueba.conectar();
			
		prueba.alertasMedico(a);
		prueba.desconectar();		
	} catch (ClassNotFoundException | SQLException e) {
		// TODO Auto-generated catch block
		System.out.println("Algun error con la conexion BD");
		e.printStackTrace();
	}
 }
}